Multi-user detection using equalization and successive interference cancellation

ABSTRACT

A method and apparatus for multi-user detection is disclosed. A signal is received in a shared spectrum, and samples of the received signals are produced as a received vector. The received vector is segmented into vector segments. Each segment has a portion that overlaps with another segment and the overlapping portion includes at least one chip less than twice a channel impulse response length. For each vector segment, symbols are successively determined for communications by determining symbols for a communication in the communications, ordering the communications by received power and removing a contribution of the communication from the vector segment. The determining of symbols includes equalizing an input vector corresponding to a segment of the received vector using fast Fourier transform. The determined symbols are assembled into a data vector for each communication in the communications.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 13/588,023, filed Aug. 17, 2012, which is a continuation of U.S. patent application Ser. No. 12/547,028, filed Aug. 25, 2009, now U.S. Pat. No. 8,249,191 issued Aug. 21, 2012, which is a continuation of U.S. patent application Ser. No. 12/049,806, filed Mar. 17, 2008, now U.S. Pat. No. 7,593,461 issued Sep. 22, 2009, which is a continuation of U.S. patent application Ser. No. 10/748,544, filed Dec. 30, 2003, now U.S. Pat. No. 7,346,103 issued Mar. 18, 2008, which claims priority from U.S. Provisional Patent Application No. 60/451,591, filed Mar. 3, 2003, which are all incorporated by reference as if fully set forth herein.

FIELD OF INVENTION

The invention generally relates to wireless communication systems. In particular, the invention relates to detection of multiple user signals in a wireless communication system.

BACKGROUND

A typical wireless communication system includes base stations which communicate with wireless transmit/receive units (WTRUs). Each base station has an associated operational area where it communicates with WTRUs which are in its operational area. In some communication systems, such as code division multiple access (CDMA), multiple communications are sent over the same frequency spectrum. These communications are typically differentiated by their codes.

Since multiple communications may be sent in the same frequency spectrum and at the same time, a receiver in such a system must distinguish between the multiple communications. One approach to detecting such signals is matched filtering. In matched filtering, a communication sent with a single code is detected. Other communications are treated as interference. To detect multiple codes, a respective number of matched filters are used. These signal detectors have a low complexity, but can suffer from multiple access interference (MAI) and inter-symbol interference (ISI).

Other signal detectors attempt to cancel the interference from other users and the ISI, such as parallel interference cancellers (PICS) and successive interference cancellers (SICs). These receivers tend to have better performance at the cost of increased complexity. Other signal detectors detect multiple communications jointly, which is referred to as joint detection. Some joint detectors use Cholesky decomposition to perform a minimum mean square error (MMSE) detection and zero-forcing block equalizers (ZF-BLEs). These detectors tend to have improved performance but high complexities.

Accordingly, it is desirable to have alternate approaches to multi-user detection.

SUMMARY

A method and apparatus for multi-user detection is disclosed. A signal is received in a shared spectrum, and samples of the received signals are produced as a received vector. The received vector is segmented into vector segments. Each segment has a portion that overlaps with another segment and the overlapping portion includes at least one chip less than twice a channel impulse response length. For each vector segment, symbols are successively determined for communications by determining symbols for a communication in the communications, ordering the communications by received power and removing a contribution of the communication from the vector segment. The determining of symbols includes equalizing an input vector corresponding to a segment of the received vector using fast Fourier transform. The determined symbols are assembled into a data vector for each communication in the communications.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a simplified diagram of an equalization successive interference canceller (EQ-SIC) receiver.

FIG. 2 is an illustration of a preferred segmentation of a received vector r.

FIG. 3 is a simplified diagram of an EQ-SIC device.

FIG. 4 is a flow chart for an EQ-SIC receiver.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The preferred implementation of the preferred embodiments is in a frequency division duplex (FDD) mode of the third generation partnership project (3GPP) wideband code division multiple access (W-CDMA) communication system. However, the preferred embodiments can be applied to a variety of wireless communication systems.

The preferred embodiments can be utilized at a wireless transmit/receive unit (WTRU) or a base station. A WTRU includes but is not limited to a user equipment, mobile station, fixed or mobile subscriber unit, pager, or any other type of device capable of operating in a wireless environment. A “base station” includes, but is not limited to, a base station, Node B, site controller, access point or other interfacing device in a wireless environment. Additionally, the preferred embodiments can be applied to WTRUs communicating with each other.

FIG. 1 is a simplified diagram of a preferred equalization/successive interference cancellation (EQ-SIC) receiver. Preferably, most of the components shown in FIG. 1, excluding the antenna 20, are implemented as a single integrated circuit. Alternately, the individual components can be discrete components or a mixture of integrated circuit(s) and/or discrete components.

Multiple communications are received by an antenna 20 or antenna array of the receiver. A sampling device 22, such as a single or multiple analog to digital converters (ADCs), samples the received signal to produce a received vector, r.

The received vector is processed by a segmentation device 24 to produce segments, r₁ . . . r_(n) of the received vector r. FIG. 2 is an illustration of a preferred segmentation scheme, although others may be used. As illustrated in FIG. 2, the received vector r is separated into a plurality of segments, r₁ . . . r_(n), (only segments r₁, r₂, r₃, r₄, r₅, r₆, r₇, r₈ and r₉ shown). Preferably, the segments overlap as shown. The amount of the overlap is preferably twice the length the impulse response less one chip, 2*(W−1). W is the maximum length of the channel impulse response, over all channels of all users. This overlap facilitates the equalization of all chips, even though segments have finite length. For a given segment, all of the chips contributing to the portion of interest for that segment are equalized. To illustrate, the portion of interest of r₂ is bounded by the dashed lines. The last chip in that portion will extend into the next segment by W−1 chips. Conversely, the chip furthest prior to the first chip in the region of interest extending into that region is W−1 chips prior to the first chip. Accordingly, all chips contributing to the portion of interest and not in that portion can be equalized, effectively removing their contribution from the portion of interest.

Although the overlap is shown as being roughly twice the impulse response, larger overlaps may be used. The larger overlaps may be useful based on the exact receiver implementations. In one embodiment, the EQ-SIC device may use a prime factor algorithm (PFA) fast Fourier transform (FFT) based implementation. The overlap may be extended to reach a desired optimal PFA or FFT length. In other implementations, the optimal non-overlap portions may vary based on the signals being processed. To illustrate, in the time division duplex (TDD) mode of 3GPP W-CDMA, based on the burst type, the length of the data field may vary. As a result, the optimum segment length for one burst may not be optimum for another burst. To utilize one uniform hardware configuration a set size for a segment may be implemented. Different overlaps may be used to facilitate the different burst lengths.

A channel estimation device 26 estimates the channel response for each of the received user signals. Typically, the channel response is estimated using a reference signal, such as a pilot code or a midamble sequence, although other techniques may be used. The estimated channel responses are represented in FIG. 1 as a channel response matrix H.

FIG. 3 is an illustration of a preferred EQ-SIC device 28 applied to a received vector segment r_(i). EQ-SIC device 28 includes equalizers 34 ₁, 34 ₂, . . . , 34 _(K) for equalizing vector segments r_(i), x_(i1), . . . x_(iK−1) configured to produce spread data vectors s_(i1), s_(i2), . . . , s_(iK), respectively. EQ-SIC device 28 also includes despreaders 36 ₁, 36 ₂, . . . , 36 _(K) for despreading the spread data vectors s_(i1), s_(i2), . . . , s_(iK), configured to produce soft symbols and hard decision devices 38 ₁, 38 ₂, . . . , 38 _(K) configured to produce hard symbols vectors d_(i1), d_(i2), . . . , d_(iK) from the respective soft symbols. EQ-SIC device 28 also includes interference construction devices 40 ₁, 40 ₂, . . . for determining respective user contributions r_(i1), r_(i2) . . . in each corresponding spread data vector s_(i1), s_(i2), . . . and subtractors 42 ₁, 42 ₂ . . . for subtracting respective user contributions r_(i1), r_(i2) . . . from respective corresponding vector segments r_(i), x_(i1) . . . In one implementation, all of the user signals are ranked, such as by their received power. For the user having the highest received power, the received vector segment r_(i) is equalized by an equalizer 34 ₁ using the channel response associated with that user (user 1), producing a spread data vector s_(i1). The codes used by that user signal are used to produce soft symbols of that user data by a despreader 36 ₁. Hard decisions are performed on that user's soft symbols by a hard decision device 38 ₁ to produce a hard symbol vector, d_(i1). Using the detected hard symbols, the contribution of user 1 to the spread data vector is determined, r_(i1), by interference construction device 40 ₁. The user 1 contribution is subtracted from the segment by a subtractor 42 ₁ producing a new segment x_(i1) having user 1's contribution removed. Similar processing is performed on a second user (user 2) having a second highest received power level. User 2's hard symbols, d_(i2), are detected using an equalizer 34 ₂, producing spread data vector s_(i2), despreader 36 ₂ and hard decision device 38 ₂. The contribution of user 2 to x_(i1), r_(i2), is removed using an interference construction device 40 ₂ and a subtractor 42 ₂. This procedure is repeated K−1 times to produce segment x_(iK−1) which is vector r_(i) with the contributions of K−1 users removed. For the K^(th) user, only the hard symbols d_(iK) are determined using an equalizer 34 _(K), producing spread data vector s_(iK), despreader 36 _(K) and hard decision device 38 _(K).

If the EQ-SIC receiver is used at a base station, typically, the hard symbols from all of the users signals are recovered. However, at a WTRU, the WTRU EQ-SIC receiver may only have one user's signal of interest. As a result, the successive processing of each user can be stopped after the hard symbols of that user of interest's signals are recovered.

Although the previous description detected each user's signals separately, multiple users signals may be recovered jointly. In such an implementation, the users would be grouped by received signal power. The successive processing would be performed on each group, in turn. To illustrate, the first group's data would be detected and subsequently canceled from the received segment, followed by the second group.

After the data for each user in a segment is detected, the data vector, such as d_(i), is stored by a segment storage device 30. To reduce the storage size, preferably, the segment is truncated to remove portions not of interest, only leaving the portion of the segment of interest. A segment reassembly device 32 produces a data vector, d, having the data from all the segments, typically by serially combining the data for each user for each segment. To illustrate, the data from user 1 for segment 1, d₁₁, is serially combined with the data from user 1 for segment 2, d₁₂.

FIG. 4 is a flow chart for an EQ-SIC receiver. Initially, a received vector r is produced, step 50. A channel estimation is performed for all the users, step 52. The received vector is segmented, r₁ . . . r_(n), step 54. Each segment is processed, step 56. For an i^(th) segment, a user having the highest received power is determined, step 58. The received vector is equalized for that user, step 60. The resulting spread vector is despread using that user's code, step 62. Hard decisions are performed on the despread data, step 64. The contribution of that user to the received vector is determined, step 66. That user's contribution is subtracted from the received vector, step 68. The next highest received power user is processed by repeating steps 60-68, using the subtracted received vector as the received vector in those steps, step 70. Store the results for that segment and repeat steps 58-70 for each remaining segment, step 72. Assemble the stored segments into the data vector d, step 74. The rate at which channel estimates are made or updated can vary between different implementations, as the rate of updated depends on the time varying nature of the wireless channels.

Preferably, the equalization for each stage of the EQ-SIC device 28 is implemented using FFT, although other implementations may be used. One potential implementation is as follows. Each received segment can be viewed as a signal model per Equation 1.

r _(i) =H _(s) +n  Equation 1

H is the channel response matrix. n is the noise vector. s is the spread data vector, which is the convolution of the spreading codes, C, for the user or group and the data vector, d, for the user or group, as per Equation 2.

s=Cd  Equation 2

Two approaches to solve Equation 3 use an equalization stage followed by a despreading stage. Each received vector segment, r_(i), is equalized, step 54. One equalization approach uses a minimum mean square error (MMSE) solution. The MMSE solution for each extended segment is per Equation 4A.

ŝ _(i)=(H _(s) ^(H) H _(s)+σ² I _(s))⁻¹ H _(s) ^(H) r _(i)  Equation 4A

σ² is the noise variance and I_(s) is the identity matrix for the extended matrix. (^(•))^(H) is the complex conjugate transpose operation or Hermetian operation. The zero forcing (ZF) solution is per Equation 4B

ŝ _(i)=(H _(s) ^(H) H _(s))⁻¹ H _(s) ^(H) r _(i)  Equation 4B

Alternately, Equations 4A or 4B is written as Equation 5.

ŝ_(i)=R_(s) ⁻¹H_(s) ^(H)r_(i)  Equation 5

R_(s) is defined per Equation 6A corresponding to MMSE.

R _(s) =H _(s) ^(H) H _(s)+σ² I _(s)  Equation 6A

Alternately, R_(s) for ZF is per Equation 6B.

R_(s)=H_(s) ^(H)H_(s)  Equation 6B

One preferred approach to solve Equation 5 is by a fast Fourier transform (FFT) as per Equations 7 and 8, an alternate approach to solve Equation 5 is by Cholesky decomposition.

R _(s) =D _(z) ⁻¹ ΛD _(z)=(1/P)D _(z) *ΛD _(z)  Equation 7

R _(s) ⁻¹ =D _(z) ⁻¹Λ⁻¹ D _(z)=(1/P)D _(z) *Λ*D _(z)  Equation 8

D_(z) is the Z-point FFT matrix and Λ is the diagonal matrix, which has diagonals that are an FFT of the first column of a circulant approximation of the R_(s) matrix. The circulant approximation can be performed using any column of the R_(s) matrix. Preferably, a full column, having the most number of elements, is used.

In the frequency domain, the FFT solution is per Equation 9.

$\begin{matrix} {{{F\left( \underset{\_}{\hat{s}} \right)} = {{\frac{\sum\limits_{m = 1}^{M}{{F\left( {\underset{\_}{h}}_{m} \right)}^{*} \otimes {F\left( {\underset{\_}{r}}_{m} \right)}}}{F\left( \underset{\_}{q} \right)}\mspace{14mu} {where}\mspace{14mu} {F\left( \underset{\_}{x} \right)}} = {\sum\limits_{n = 0}^{P - 1}{{x(n)}^{{- j}\; \frac{2\pi \; {kn}}{N}}}}}},{{{where}\mspace{14mu} k} = 0},1,\ldots \mspace{14mu},{P - 1}} & {{Equation}\mspace{14mu} 9} \end{matrix}$

is the kronecker product. M is the sampling rate. M=1 is chip rate sampling and M=2 is twice the chip rate sampling.

After the Fourier transform of the spread data vector, F(ŝ), is determined, the spread data vector ŝ is determined by taking an inverse Fourier transform. 

1. An integrated circuit (IC), implemented in a wireless transmit/receive unit (WTRU), the IC comprising: circuitry configured to receive a signal in a shared spectrum; circuitry configured to produce samples of the received signal as a received vector; circuitry configured to segment the received vector into a plurality of vector segments, wherein each segment has a portion overlapping with another segment and the overlapping portion includes at least one chip less than twice a channel impulse response length; circuitry configured to successively determine for each vector segment symbols for a plurality of communications by determining symbols for a communication in the plurality of communications, ordering the communications by received power and removing a contribution of the communication from the vector segment, wherein the circuitry is configured to determine the symbols by equalizing an input vector corresponding to a segment of the received vector using fast Fourier transform; and circuitry configured to assemble the determined symbols into a data vector for each communication in the plurality of communications.
 2. The IC of claim 1, further comprising circuitry configured to despread the equalized vector segment and circuitry configured to make hard decisions on the despread equalized vector segment.
 3. The IC of claim 2, further comprising circuitry configured to produce a despread equalized vector segment including a plurality of soft symbols by apply a code associated with the communication to the equalized vector segment.
 4. The IC of claim 1, further comprising circuitry configured to remove a contribution of the communication from the vector segment by subtracting the determine symbols from the vector segment.
 5. The IC of claim 1, further comprising circuitry configured to determine symbols for a communication of interest.
 6. An integrated circuit (IC), implemented in a base station, the IC comprising: circuitry configured to receive a signal in a shared spectrum; circuitry configured to produce samples of the received signal as a received vector; circuitry configured to segment the received vector into a plurality of vector segments; circuitry configured to successively determine, for each vector segment, symbols for a plurality of communications by determining symbols for a communication in the plurality of communications and removing a contribution of the communication from the vector segment; and circuitry configured to assemble the determined symbols into a data vector for each communication in the plurality of communications.
 7. The IC of claim 6, further comprising circuitry configured to equalize the vector segment, circuitry configured to despread the equalized vector segment, and circuitry configured to make hard decisions on the despread equalized vector segment.
 8. The IC of claim 7, further comprising circuitry configured to equalize the vector segment using a fast Fourier transform.
 9. The IC of claim 7, further comprising circuitry configured to produce a despread equalized vector segment including a plurality of soft symbols by applying a code associated with the communication to the equalized vector segment.
 10. The IC of claim 6, further comprising circuitry configured to remove a contribution of the communication from the vector segment by subtracting the determined symbols from the vector segment.
 11. The IC of claim 6, further comprising circuitry configured to determine symbols for a communication of interest. 